Contact management system and method

ABSTRACT

A contact management system is described having a first database containing proprietary information and a second database containing public information. Where appropriate, the publicly available information is displayed with the proprietary information to give the user more information about a contact. The multiple relationships provided by the public database allow the user to use both the proprietary and public data to find a relationship with a potential client.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of prior filed U.S. provisionalapplication Ser. No. 60/676,052, filed Apr. 29, 2005, which isincorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to computer implemented systems andmethods for managing relationships between a company and its clients.

2. Description of the Related Art

The adage, “it's not what you know but who you know,” reflects the factthat humans are social animals and we live in a web of relationshipswith other humans. Opportunities in all aspects of human activity,especially in business, arise through our web of contacts to otherpeople.

In an example of a known contact management system (CMS), informationregarding an employee's contacts is entered into a database that isavailable only to that employee. In many situations, the employee viewshis/her contacts as personal property and may not wish to share suchinformation with other employees of the company. Contact managementsystems, however, exhibit network effects wherein the value of thedatabase grows exponentially as the number of contacts increases. Fromthe perspective of the company, having a combined contact managementsystem containing the contacts of all of its employees increases thevalue of the CMS and institutionalizes the clients to the company.Therefore, there remains a need for systems and methods of contactmanagement at the enterprise level that fully leverages the networkeffects of individual contacts.

SUMMARY OF THE INVENTION

One embodiment of the present invention is directed to a contactmanagement system comprising: a client program for receiving clientcontact data from a user and displaying contact information to the usera first database containing proprietary contact information; a seconddatabase containing public contact information; and a client program forreceiving client contact data from a user for storage in the firstdatabase and displaying contact information to the user wherein thedisplayed contact information includes information retrieved from thefirst database and the second database.

An aspect of the present invention is directed to a system furthercomprising an appointment program component for receiving meeting datafrom a user and presenting meeting alerts to the user, the meeting dataincluding a list of attendees, a meeting time, a meeting date, and aclient contact. A further aspect is directed to a system wherein themeeting data further includes a link to a meeting pattern, the meetingpattern generating one or more meetings for a future date, the futuredate specified by a repeat factor and a frequency. A further aspect isdirected to a system wherein appointment program component generates ameeting from a meeting pattern and inserts the generated meeting into acalendar of an attendee only if the generated meeting falls within apredetermined future time period. In some aspects, the appointmentprogram component further comprises an alert component, the alertcomponent configured to retrieve current information about the clientcontact and send the retrieved information to a meeting attendee priorto the meeting. In some aspects, the current information includes a mostrecent market data of the client contact. In some aspects, the currentinformation includes news about the client contact. In some aspects, theretrieved information is sent to the attendee by email. In some aspects,a history of previous meetings with the client contact is included inthe sent information. In another aspect, the appointment softwarecomponent further comprises a synopsis component, the synopsis componentconfigured to send a reminder to a meeting attendee after a scheduledend of a meeting, the reminder prompting the user to enter a synopsis ofthe meeting, the synopsis stored by the synopsis component. In anotheraspect, the appointment software component further comprises a summarycomponent, the summary component configured to generate a report for theuser, the generated report indicating a number of meetings with each ofthe user's clients for a previous time period. In another aspect, thecontact program component further comprises an inference component, theinference component configured to automatically ask the user tofacilitate an introduction to the user's contact based on apredetermined rule. A further aspect is directed to the system furthercomprising a referral program component for receiving referral data froma user, presenting a list of potential referrals in response to a query,and tracking referrals made by the user.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described by reference to the preferred andalternative embodiments thereof in conjunction with the drawings inwhich:

FIG. 1 is a schematic diagram of an architecture used in someembodiments of the present invention;

FIG. 2 is a schematic diagram of a database schema used in someembodiments of the present invention;

FIG. 3 is a screen shot of a custom contact form used in someembodiments of the present invention;

FIG. 4 is another screen shot of a custom contact form used in someembodiments of the present invention;

FIG. 5 is another screen shot of a custom contact form used in someembodiments of the present invention;

FIG. 6 is another screen shot of a custom contact form used in someembodiments of the present invention;

FIG. 7 is a screen shot of a custom appointment form used in someembodiments of the present invention;

FIG. 8 is another screen shot of a custom appointment form used in someembodiments of the present invention;

FIG. 9 is a screen shot of a conversion wizard used in some embodimentsof the present invention;

FIG. 10 is another screen shot of a conversion wizard used in someembodiments of the present invention;

FIG. 11 is another screen shot of a conversion wizard used in someembodiments of the present invention; and

FIG. 12 is another screen shot of a conversion wizard used in someembodiments of the present invention.

DETAILED DESCRIPTION

FIG. 1 is a schematic diagram of an architecture used in someembodiments of the present invention. FIG. 1 illustrates a client-serverarchitecture having a server side 110 and a client side 150. On theclient side 150, a client program component 160 enables the user to viewand retrieve contact and calendar information and to request contact andcalendar information. In a preferred embodiment, the client programcomponent 160 is Outlook® available from Microsoft Corporation ofRedmond, Wash. An advantage of using Outlook as the client sidecomponent is the customizable forms 163 167 that may be used withOutlook to display information relevant to the user. The custom formsmay be stored on a network server and pushed to each client computer onthe internal network when new or updated forms are released. Outlookprovides a front-end for a Microsoft Exchange Server® 140 that providesdatabase management services for client contact and user calendarinformation in addition to handling email services for the user.

The client side 150 is connected to the company's intranet portal 115that provides enterprise-wide network services to the user. A singlesign-on component 170 on the client workstation maintains a session withthe intranet portal 115. In a preferred embodiment, the single sign-oncomponent 170 may be an Active X executable that is functionally similarto the Microsoft XML-HTTP library but gracefully responds when theintranet portal 115 is down thereby allowing Outlook to continuefunctioning until the intranet portal 115 is recovered. The intranetportal 115 provides authentication services that allow the user toaccess one or more databases 125 135 that contain company and clientinformation. The company and client information retrieved from databases125 135 populate the customizable forms 163 167 when activated by theuser in Outlook. In some embodiments, a customized contact form 163 isdisplayed when the user selects a new contact control in Outlook.Similarly, a customized appointment form 167 may be displayed when theuser selects a new appointment control in Outlook.

The contact and calendar information in the CMS may be private,proprietary, or public. As used herein, a private contact or appointmentis only viewable by the user and is not available to others. An exampleof a private contact may be the user's spouse or physician. An exampleof a private appointment may be an anniversary or doctor's appointment.As used herein, proprietary refers to company and client informationthat the company maintains and does not make available to the public. Anexample of a proprietary contact may be the clients of the company orthe relationship employees of the company have with people in the clientcompany. As used herein, public refers to information that is publiclyavailable to the public. An example of public information may be thedirectors or officers of a company. Proprietary and public informationmay be provided as a network service and stored on the company'sinternal network in databases 125 and 135. Although FIG. 1 shows aproprietary database 125 separate from the public database 135, both maybe logically viewed as a single database. The information stored in thepublic database may be collected manually from publicly availablesources, but preferably from third party information providers.

In some embodiments, databases 125 and 135 are updated on demand or on aweekly basis. In a preferred embodiment, databases are updated whenevera user changes a contact or appointment or when a new contact orappointment is entered.

FIG. 2 is a schematic diagram of a database schema used in someembodiments of the present invention. In FIG. 2, both proprietary data201 and public data 203 are shown. The proprietary data 201 may includean employee name 212 and their group affiliations 210 such as, forexample, their P&L group, division, department, or other organizationalunits of the company. A contact is defined by the employee name 212, aclient contact name 216, and a relationship type 214. A contact title218 identifies the contact's relation to the client company. Anorganization table 220 contains a list of all client organizations ofthe company. Public data 203 may include an external person's name 240,the external person's company 244, and the external person's title orrelationship 242 between the external person and the external person'scompany. An OrganizationStreet table 224 maintains a list of name pairsthat correspond to the internal name of the client in the proprietarydatabase and the external name of the client in the public database. TheOrganizationStreet table 224 provides a translation of the internallyused client name to the externally used client name without having toedit data in either the Organization table 220 or the ExtCompany table244.

Links or shortcuts may be provided to reduce the number of searches. Forexample, a link 260 may be provided between the client contact table 216and the external person table 240. Similarly, a link 265 may be providedbetween the contact title table 218 and the external person's title 244.The advantage of incorporating public data into the contact managementsystem is shown in FIG. 2 by examining the mapping between the clientcontact name table 216 and the client name table 218, which indicatesthat a one-to-one mapping exists between the contact name table 216 andthe client name table 218. The one-to-one mapping occurs because theemployee initially meets the client contact in the context of specifictransaction. The public data, however, may show that the client contacthas more than one relationship with the client and may haverelationships with other clients or potential clients. The employee maynot be aware of these other relationships when he/she enters the newcontact into the CMS.

The process of creating a new contact is now described with reference toFIGS. 3-6. FIG. 3 is an illustrative screen shot of a custom contactform that is displayed by Outlook when a user selects a new contactcontrol. Prior to the screen shown in FIG. 3, the user may specify thata link be created to the new contact. If the user specifies that a linkto the new contact be created, the new contact information is stored inthe proprietary database 125 and portions of the contact informationwill be available to other employees in the company. If the userspecifies that no link should be created, the new contact information isconsidered private and is stored on the exchange server 140 that is onlyviewable by the user. The custom form shown in FIG. 3 displays fieldswhere the user can enter the contact's name, title, and company. Theform also includes a cancel control that, when selected, aborts the newcontact process and a next control that, when selected, saves theentered data and displays the next screen to the user.

FIG. 4 is an illustrative screen shot of a custom contact form that isdisplayed when the user selects the continue control on the form shownin FIG. 3. FIG. 4 displays a table 410 containing the search results ofthe contact name in the public database. The table 410 is populated by aname-matching component that normalizes and compares the name entered bythe user to the names in the public database. The search results may bescored to indicate the accuracy of the match and may be displayed bydecreasing score. The user selects from the list the appropriate nameand selects a select control 440 to create a link to the selected namein the public database. If the search returns a null, the user mayselect an add control 450 that adds the entered information as a newcontact without establishing a link to the public database.

FIG. 5 is an illustrative screen shot of a custom contact form that isdisplayed when the user selects the select control 440 or the addcontrol 450 on the form shown in FIG. 4. In the form shown in FIG. 5,the user is asked to characterize his relationship with the new contactand indicate if he is willing to facilitate an introduction to the newcontact.

In a preferred embodiment, an inference may be made on whether the usermay facilitate an introduction to the contact. The inference may bebased on one or more characteristics of the user, the contact, and theirprevious contacts. Without being limiting, examples of suchcharacteristics may include the user's role, meeting type, and contacttitle. In an exemplar scenario, if the user is the lead banker and hasmade two or more face-to-face meetings with the contact who is the CFOof the client company, an inference may be made that the user may be ina position to facilitate an introduction to the contact and the user maybe presented automatically with an option to indicate his/herwillingness to facilitate an introduction. The meeting type may alsoinclude social engagements retrieved from the user's calendar such as,for example, hosting the client at a Yankees game.

FIG. 6 is an illustrative screen shot of a custom contact form that isdisplayed when the user selects a save control 550 on the form shown inFIG. 5. In FIG. 6, two tables are displayed to the user. A first table610 displays other employees of the company that have a relationship tothe contact and is populated from the proprietary database. A secondtable 650 displays the other professional affiliations of the contactand is populated from the public database.

FIG. 7 is an illustrative screen shot of a custom appointment form thatis displayed when the user selects a new appointment control in Outlook.In FIG. 7, the user enters the required information about theappointment such as, for example, the appointment type 720, clientcompany 730, and whether client representatives will attend 705. Clientattendees may be added by selecting an Add-client-attendees control 750.

FIG. 8 is an illustrative screen shot of a custom appointment form thatis displayed when the user selects the Add-client-attendees control 750on the form shown in FIG. 7. In FIG. 8, an appointment table 810 liststhe client attendees to the appointment. A client may be removed fromthe appointment list by selecting the client and selecting the Removecontrol 815. Clients may be entered by name or selected from a searchresults list 820. In the example shown in FIG. 8, the search resultslist is generated by a search of the proprietary database on a clientcompany, EBANKER.

Recurring meetings may be created that allow for customization of asingle meeting while maintaining historical details of previous meetingsand links to future meetings. In prior art systems, a recurring meetingis stored as a single meeting with a repeat factor and frequency. Thisenables the storage of a potentially infinite number of meetings in asingle meeting and thereby saves storage space. Storing a series ofrepeating meetings in a single recurring meeting, however, makes storingof the details of each meeting and the customization of a particularmeeting difficult. In many cases, changing the details of a particularmeeting affects past meetings and may even result in the loss of pastmeeting details.

In a preferred embodiment, a recurring meeting is linked to an objectthat contains the pattern of the recurring meeting. Such a pattern mayinclude the repeat factor describing the number of repeats or whetherthe pattern continues indefinitely. The pattern may also include therepeat frequency such as, for example, weekly, monthly, or every otherTuesday. Each meeting generated from the pattern is stored as a distinctmeeting in the user's calendar but maintains a link to the pattern. Whenthe pattern is changed from, for example, every other Wednesday to thethird Thursday of each month, the change is applied to the pattern butdoes not affect meetings in the past. The link between the past meetingsand the pattern are unchanged so the historical details of previousmeetings remain available to the participants of the recurring meetings.Furthermore, changes to the meeting attendees for future meetings may bemade without changing the rosters of previous meetings.

Storage space requirements may be reduced by generating meetings for apredetermined future time period. For example, meetings from a recurringmeeting pattern may be entered into the attendee's calendars only forthe next three months. As each calendar is updated, the programcomponent may insert a meeting from the meeting pattern such that eachcalendar has the next three months of recurring meetings. In someembodiments, the future time period may default to three months but theuser may change the time period if, for example, the user is unusuallybusy and must keep his/her schedule fluid.

In a preferred embodiment, meeting details are captured by encouragingeach participant to enter meeting details soon after the conclusion ofeach meeting. A software component automatically generates and sends anemail reminder to at least one attendee of the meeting asking theattendee to enter the attendee's notes on the meeting. In otherembodiments, only the meeting chair, or his/her designate, is sent areminder to enter a synopsis of the meeting. The entered notes andsynopsis are stored in the proprietary database with a link to themeeting.

A pre-meeting market alert may be generated and send by email to eachparticipant of an upcoming meeting. In a preferred embodiment, asoftware component automatically pulls the latest market data and newsof the client company the night before a scheduled meeting and sends theinformation by email to each participant. The histories of previousmeetings with the client company may be included in the pre-meetingreport.

A user may receive a monthly meeting summary report that is generatedautomatically by a software component. In a preferred embodiment, thesummary report includes the number of meetings with each client andidentifies clients that were not contacted during the previous month.

FIGS. 9-12 illustrate a process of creating links to a pre-existingcontact list. FIG. 9 is an illustrative screen shot during the processafter a wizard has scanned the user's contact list and compared theuser's contact list against the proprietary database to identifypotential company contacts.

The web of contacts maintained by embodiments of the present inventionmay be used to generate and track executive referrals to clients. A usermay sponsor or identify a person at a client company as a potentialexecutive in a market space and enter the information with the person'scontact information. For example, user A may identify person X as apotential CFO at a chemical processing company. User A enters theinformation in person X's contact information. If another chemicalprocessing company that is a client of user B expresses a need for aCFO, user B can query the database for people identified as a potentialCFO in the chemical processing space. The query will identify person X,the potential referral, and user A, the sponsor, so that user B cancontact user A about the possibility of facilitating a introductionbetween person X and user B. If person X does become the CFO of user B'sclient, the information is stored in the proprietary database such thatall referrals are tracked.

The description herein should be understood to describe only onepreferred embodiment of the invention. Those skilled in the art willrecognize that the described embodiment is just one example of the novelsystem and method for contact management that enables users to viewcontact information from both proprietary and publicly available datasources. The example is all that needs to be described in detail inorder to enable the more general system and method that the inventioncomprises. Other embodiments will be apparent to those skilled in theart after reading the description provided herein.

Embodiments of the present invention comprise computer components andcomputer-implemented steps that will be apparent to those skilled in theart. For ease of exposition, not every step or element of the presentinvention is described herein as part of a computer system, but thoseskilled in the art will recognize that each step or element may have acorresponding computer system or software component. Such computersystem and/or software components are therefore enabled by describingtheir corresponding steps or elements (that is, their functionality),and are within the scope of the present invention.

Having thus described at least illustrative embodiments of theinvention, various modifications and improvements will readily occur tothose skilled in the art and are intended to be within the scope of theinvention. Accordingly, the foregoing description is by way of exampleonly and is not intended as limiting. The invention is limited only asdefined in the following claims and the equivalents thereto.

What is claimed:
 1. A contact management system comprising: one or morememory units each operable to store at least one program; and at leastone processor communicatively coupled to the one or more memory units,the at least one processor configured to execute the at least oneprogram; a first database containing proprietary contact information; asecond database containing public contact information; a contactcomponent for receiving proprietary contact information from a user forstorage in the first database and presenting contact information to theuser, wherein the presented contact information includes informationretrieved from the first database and the second database, said contactcomponent providing one or more links between contact information in thefirst and second databases; a referral component that receives referraldata from the user, the referral data identifying a person as apotential referral in the proprietary database and identifying the useras a sponsor, the referral data being stored in the proprietarydatabase, wherein the referral component receives a query from anotheruser, the referral component accesses the proprietary database, thereferral component compares a contact list of the other user to thereferral data in the proprietary database to identify the potentialreferral and the sponsor; and an appointment component for receivingmeeting data from a user and presenting one or more meeting alerts tothe user, wherein when the meeting data includes a link to a meetingpattern of a recurring meeting, the appointment component generates afuture meeting entry from the meeting pattern when a future meetingpattern is selected and the future meeting entry falls within apredetermined future time period and automatically generates one or morenext future meeting entries from the meeting pattern upon expiration ofat least a portion of the predetermined future time period.
 2. Thesystem of claim 1, wherein the meeting data includes at least one of alist of attendees, a meeting time, a meeting date, and a client contact.3. The system of claim 1, wherein the meeting pattern includes a repeatfactor and a frequency.
 4. The system of claim 1, wherein theappointment component further comprises an alert component, the alertcomponent configured to retrieve current information about a contact andsend the retrieved information to a meeting attendee prior to themeeting.
 5. The system of claim 4, wherein the current informationincludes a most recent market data of the contact.
 6. The system ofclaim 4, wherein the current information includes news about thecontact.
 7. The system of claim 4, wherein the retrieved information issent to the attendee by email.
 8. The system of claim 4, wherein ahistory of previous meetings with the contact is included in the sentinformation.
 9. The system of claim 1, wherein the appointment componentfurther comprises a synopsis component, the synopsis componentconfigured to send a reminder to a meeting attendee after a scheduledend of a meeting, the reminder prompting the attendee to enter asynopsis of the meeting, the synopsis stored by the synopsis component.10. The system of claim 1, wherein the appointment component furthercomprises a summary component, the summary component configured togenerate a report for the user, the generated report indicating a numberof meetings with one or more of the user's contacts over a time period.11. The system of claim 1, wherein the contact component furthercomprises an inference component, the inference component configured toprompt the user to facilitate an introduction to the user's contactbased on a predetermined rule.
 12. The system of claim 11, wherein thepredetermined rule depends on at least one of a user's role, a contacttitle, and a meeting type.
 13. The system of claim 1 further comprising:a referral component for receiving referral data from a user, presentingone or more potential referrals and tracking referrals made by the user.14. A method comprising the steps of: retrieving proprietary contactinformation from a first database; retrieving public contact informationfrom a second database; presenting to a user contact informationcomprising the proprietary contact information and the public contactinformation; providing one or more links between contact information inthe first and second databases; receiving referral data from the user,the referral data identifying a person as a potential referral in thefirst database and identifying the user as a sponsor; receiving a queryfrom another user; accessing the first database; comparing a contactlist of the other user to the referral data in the first database toidentify the potential referral and the sponsor; receiving meeting datafrom a user; and when the meeting data includes a link to a meetingpattern of a recurring meeting, generating a future meeting entry fromthe meeting pattern when the future meeting entry falls within apredetermined future time period and automatically generating one ormore next future meeting entries from the meeting pattern uponexpiration of at least a portion of the predetermined future timeperiod.
 15. The method of claim 14 further comprising: retrievingcurrent information about a contact; and sending a meeting alertincluding to the user prior to the meeting, the meeting alert presentingthe retrieved current information about the contact.
 16. The method ofclaim 15 further comprising: generating a report for the user, thegenerated report indicating a number of meetings with one or more of theuser's contacts over a time period; and presenting the generated reportto the user.
 17. The method of claim 15, wherein the meeting alertfurther includes a history of previous meetings with the contact. 18.The method of claim 15 further comprising: prompting the user to enter asynopsis of the meeting after a scheduled end of the meeting; andstoring the synopsis in the first database.
 19. The method of claim 15,further comprising presenting to the user one or more potentialreferrals, each of the one or more of potential referrals identifying asponsor that can facilitate an introduction between the user and thepotential referral.
 20. The method of claim 14 further comprising:receiving a new contact information from the user; storing the newcontact information in the first database; and prompting the user toindicate whether the user can facilitate an introduction to the newcontact after inferring that the user can facilitate an introduction tothe new contact.
 21. A method comprising the steps of: requestingcontact information of a contact; viewing the requested information,wherein the requested information includes proprietary informationretrieved from a proprietary database and public information retrievedfrom a public database; providing one or more links between contactinformation in the proprietary and public databases; receiving referraldata from the user, the referral data identifying a person as apotential referral in the first database and identifying the user as asponsor; receiving a query from another user; accessing the firstdatabase; comparing a contact list of the other user to the referraldata in the first database to identify the potential referral and thesponsor; sending meeting data to an appointment module; and when themeeting data includes a link to a meeting pattern of a recurringmeeting, receiving, for insertion into a calendar of an attendee, afuture meeting entry from the appointment module that is generated fromthe meeting pattern when the future meeting entry falls within apredetermined future time period, and the appointment componentautomatically generates one or more next future meeting entries from themeeting pattern upon expiration of at least a portion of thepredetermined future time period.
 22. The method of claim 21 furthercomprising: entering contact information of a new contact; andindicating, in response to a prompt, a willingness to facilitate anintroduction to the new contact.
 23. The method of claim 21 furthercomprising: receiving a meeting alert for a meeting with the contact ata future date, the alert including current information about thecontact.
 24. The method of claim 23 further comprising: receiving areport indicating a number of meetings with one or more of a user'scontacts over a time period.
 25. The method of claim 23, wherein themeeting alert further includes a history of previous meetings with thecontact.
 26. The method of claim 21 further comprising: receiving arequest to enter a synopsis of a recently finished meeting; and enteringa synopsis of the recently finished meeting.
 27. The method of claim 21further comprising: requesting a potential referral for a contact;reviewing the potential referral and a sponsor associated with thepotential referral; and contacting the sponsor to request anintroduction to the potential referral.
 28. The system of claim 1,wherein the appointment component further receives a change to themeeting pattern, wherein said appointment system applies the change tosaid meeting pattern without affecting past meeting entries of themeeting pattern.
 29. The system of claim 28, wherein the appointmentcomponent applies the change to the meeting pattern without affecting alink between the past meeting entries and the meeting pattern.
 30. Thesystem of claim 1, wherein the meeting data comprises a roster ofattendees, wherein the appointment component further receives a changeto a roster of attendees for future meeting entries of the meetingpattern, and applies the change to the roster of attendees for futuremeeting entries without affecting a roster of attendees for past meetingentries of the meeting pattern.
 31. The system of claim 1, wherein thereferral component presents a list of potential referrals and sponsorsin response to the query to the other user.